ফ্লাটার হলো একটি ওপেন সোর্স UI সফটওয়্যার ডেভেলপমেন্ট কিট (SDK), যা Google দ্বারা তৈরি করা হয়েছে। এটি মোবাইল, ওয়েব, ডেস্কটপ, এবং এম্বেডেড ডিভাইসের জন্য ক্রস-প্ল্যাটফর্ম অ্যাপ্লিকেশন তৈরি করার জন্য ব্যবহৃত হয়। Flutter ব্যবহার করে আপনি এক কোডবেস থেকে একই সাথে অ্যান্ড্রয়েড, আইওএস, ওয়েব, এবং ডেস্কটপ অ্যাপ্লিকেশন তৈরি করতে পারেন। এটি একটি high-performance ফ্রেমওয়ার্ক, যা Dart প্রোগ্রামিং ভাষা ব্যবহার করে ডেভেলপ করা হয়।
Flutter হলো Google এর তৈরি একটি ওপেন সোর্স UI সফটওয়্যার ডেভেলপমেন্ট কিট (SDK), যা ডেভেলপারদের জন্য cross-platform অ্যাপ্লিকেশন তৈরি করতে সহায়ক। Flutter এর মাধ্যমে এক কোড বেস ব্যবহার করে একই সাথে Android, iOS, Web, এবং Desktop এর জন্য অ্যাপ্লিকেশন তৈরি করা যায়। Flutter Dart প্রোগ্রামিং ভাষা ব্যবহার করে এবং এটি ব্যবহার করে তৈরি করা অ্যাপ্লিকেশনগুলো খুবই দ্রুত, স্মুথ এবং পারফরম্যান্সে উন্নত হয়।
Flutter মূলত অ্যাপ্লিকেশনের UI ডিজাইন এবং ডেভেলপমেন্টের জন্য ব্যবহৃত হয়, এবং এটি native পারফরম্যান্স প্রদান করে, অর্থাৎ Android এবং iOS-এ Flutter দিয়ে তৈরি অ্যাপ্লিকেশনগুলো একদম native অ্যাপের মতো চলে। এর সবচেয়ে বড় সুবিধা হলো, আপনি একই কোড বেস দিয়ে বিভিন্ন প্ল্যাটফর্মে অ্যাপ্লিকেশন ডেভেলপ করতে পারেন।
Cross-Platform Development: Flutter এর মাধ্যমে একই কোড ব্যবহার করে Android, iOS, Web এবং Desktop এর জন্য অ্যাপ্লিকেশন তৈরি করা যায়, যা সময় এবং খরচ বাঁচায়।
High-Performance Rendering: Flutter এর Skia Graphics Engine ব্যবহার করে UI রেন্ডারিং করা হয়, যা খুবই দ্রুত এবং স্মুথ পারফরম্যান্স প্রদান করে।
Hot Reload: Flutter এ Hot Reload ফিচার রয়েছে, যার মাধ্যমে কোড পরিবর্তন করার পর সঙ্গে সঙ্গে তা UI-তে দেখতে পারেন। এটি ডেভেলপমেন্টের সময় অনেক দ্রুত কাজ করার সুযোগ দেয়।
Customizable Widgets: Flutter এ প্রচুর pre-built widgets রয়েছে যা সহজেই ব্যবহার করা যায়। এছাড়াও আপনি কাস্টম উইজেট তৈরি করতে পারেন, যা অ্যাপ্লিকেশনের UI কে আরও উন্নত করে তোলে।
Single Codebase: একবার Flutter দিয়ে কোড লিখলে তা একই সাথে Android, iOS, Web এবং Desktop এর জন্য ব্যবহার করা যায়। ফলে প্ল্যাটফর্ম অনুযায়ী আলাদা কোড লিখতে হয় না।
Native Performance: Flutter native code, third-party integration, এবং hardware acceleration সমর্থন করে, যার মাধ্যমে পারফরম্যান্স native অ্যাপ্লিকেশনের মতো দ্রুত হয়।
Dart Programming Language: Flutter অ্যাপ্লিকেশন তৈরি করতে Dart প্রোগ্রামিং ভাষা ব্যবহার করা হয়, যা Google দ্বারা তৈরি একটি ভাষা। Dart এর সিনট্যাক্স অনেকটা JavaScript এবং Java এর মতো।
Flutter SDK: Flutter SDK হলো একটি টুলকিট যা অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য প্রয়োজনীয় টুলস এবং লাইব্রেরি প্রদান করে। Flutter SDK এর মাধ্যমে UI তৈরি, ডিবাগিং এবং অ্যাপ্লিকেশন কম্পাইল করা সম্ভব হয়।
Android Studio/Visual Studio Code: Flutter ডেভেলপমেন্টের জন্য আপনি Android Studio বা Visual Studio Code ব্যবহার করতে পারেন। এ দুটি IDE-তে Flutter প্লাগইন ইন্সটল করে ডেভেলপমেন্ট প্রক্রিয়া শুরু করা যায়।
Device or Emulator: Flutter অ্যাপ ডেভেলপমেন্টের জন্য একটি real device বা emulator প্রয়োজন, যেখানে আপনি আপনার অ্যাপ্লিকেশন রান করতে পারবেন।
Flutter ডেভেলপমেন্ট শুরু করার জন্য আপনাকে প্রথমে Flutter SDK ইন্সটল করতে হবে। এখানে Windows এবং MacOS এ Flutter ইন্সটল করার পদ্ধতি দেখানো হলো।
Flutter SDK ডাউনলোড:
ZIP ফাইল আনজিপ করা:
.zip ফাইলটি আনজিপ করুন এবং C:\src\flutter ফোল্ডারে এটি সংরক্ষণ করুন।Path সেট করা:
Flutter Doctor চালানো:
Flutter SDK ডাউনলোড:
ZIP ফাইল আনজিপ করা:
cd ~/development
unzip ~/Downloads/flutter_macos_vx.x.x-stable.zip
Path সেট করা:
~/.zshrc বা ~/.bash_profile ফাইলে Flutter এর path যুক্ত করুন।Flutter Doctor চালানো:
Android Studio ডাউনলোড ও ইনস্টল করুন।
Flutter Plugin ইনস্টল করুন:
Android SDK সেটআপ:
Flutter এ একটি নতুন প্রজেক্ট তৈরি করতে এবং সেটিকে রান করার পদ্ধতি নিচে দেওয়া হলো।
Flutter CLI ব্যবহার করে একটি নতুন প্রজেক্ট তৈরি করতে পারেন:
flutter create my_first_app
প্রজেক্ট ফোল্ডারে যান:
cd my_first_app
অ্যাপ্লিকেশনটি রান করার জন্য:
flutter run
আপনি যদি Android Studio বা Visual Studio Code ব্যবহার করেন, তবে Run বাটন ক্লিক করে অ্যাপ্লিকেশন চালাতে পারেন।
Flutter এ lib/main.dart ফাইলে অ্যাপ্লিকেশনের মেইন কোড লেখা থাকে। নিচে একটি সহজ Flutter অ্যাপের উদাহরণ দেখানো হলো:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('My First Flutter App'),
),
body: Center(
child: Text('Hello, World!'),
),
),
);
}
}
এখানে MaterialApp এবং Scaffold এর মাধ্যমে UI তৈরি করা হয়েছে। Text উইজেট ব্যবহার করে একটি টেক্সট দেখানো হয়েছে।
Flutter এর Hot Reload ফিচার ব্যবহার করে আপনি কোনো কোড পরিবর্তন করলে সঙ্গে সঙ্গে সেটি UI-তে দেখতে পাবেন। কোডে কোনো পরিবর্তন করার পরে Hot Reload ব্যবহার করতে পারেন:
r
Flutter এর UI তৈরি হয় widgets দিয়ে। প্রতিটি UI উপাদান, যেমন বাটন, টেক্সট, ছবি, সবকিছুই Flutter এ Widget হিসেবে কাজ করে। Widgets দুই ধরনের হয়:
Flutter এ অ্যাপ্লিকেশনের অবস্থা বা state পরিচালনা করা খুবই গুরুত্বপূর্ণ। StatefulWidget ব্যবহার করে আপনি state পরিচালনা করতে পারেন। এছাড়া, বড় অ্যাপ্লিকেশনের জন্য বিভিন্ন স্টেট ম্যানেজমেন্ট টুল যেমন Provider, Bloc, Riverpod ব্যবহার করা হয়।
Flutter এ বিভিন্ন স্ক্রিনের মধ্যে যাওয়া বা navigation করার জন্য Navigator এবং Routes ব্যবহার করা হয়।
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondScreen()),
);
Flutter এর pub.dev লাইব্রেরি থেকে আপনি অনেক দরকারি প্যাকেজ ব্যবহার করতে পারেন, যা আপনার অ্যাপ্লিকেশন ডেভেলপমেন্টকে আরও সহজ এবং দ্রুত করে তোলে।
Flutter অ্যাপ ডেভেলপ করার পরে আপনি তা Google Play Store এবং Apple App Store এ প্রকাশ করতে পারেন।
Android এর জন্য APK তৈরি করতে:
flutter build apk --release
iOS এর জন্য Xcode ব্যবহার করে IPA ফাইল তৈরি করতে হবে। এর জন্য আপনাকে Xcode এ প্রজেক্ট ওপেন করতে হবে এবং iOS ডিভাইসে রান করাতে হবে।
Flutter এর তুলনা অন্য ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক যেমন React Native, Xamarin, Ionic, এবং NativeScript এর সাথে করলে বিভিন্ন বৈশিষ্ট্য, সুবিধা-অসুবিধা এবং পারফরম্যান্সের মধ্যে পার্থক্য দেখা যায়। নিচে Flutter এবং অন্যান্য জনপ্রিয় ফ্রেমওয়ার্কগুলোর মধ্যে একটি তুলনামূলক আলোচনা দেওয়া হলো।
React Native হলো Facebook এর তৈরি একটি ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক, যা ডেভেলপারদের একই কোড বেস দিয়ে Android এবং iOS-এর জন্য অ্যাপ তৈরি করতে দেয়। React জাভাস্ক্রিপ্ট লাইব্রেরি ব্যবহার করে Native অ্যাপ্লিকেশন তৈরি করা হয়।
| বিষয় | Flutter | React Native |
|---|---|---|
| ডেভেলপমেন্ট ভাষা | Dart | JavaScript (React) |
| UI উপাদান (Widgets) | Flutter সম্পূর্ণ নিজের UI উইজেট সিস্টেম ব্যবহার করে, যা সমস্ত UI স্ক্রিনের জন্য ব্যবহার করা যায়। | React Native নেটিভ UI কম্পোনেন্ট ব্যবহার করে। |
| পারফরম্যান্স | Flutter সাধারণত React Native এর চেয়ে দ্রুত এবং স্মুথ পারফরম্যান্স প্রদান করে কারণ এটি নিজস্ব Skia Graphics Engine ব্যবহার করে। | React Native এর পারফরম্যান্স কিছু ক্ষেত্রে কম হতে পারে কারণ এটি নেটিভ কোডে কনভার্ট করার সময় JS ব্রিজ ব্যবহার করে। |
| Hot Reload | Flutter এ Hot Reload ফিচার খুবই দ্রুত এবং কার্যকর। | React Native এও Hot Reload ফিচার আছে, তবে Flutter এর তুলনায় কিছুটা কম কার্যকর হতে পারে। |
| কমিউনিটি ও লাইব্রেরি | Flutter-এর সম্প্রদায় দ্রুত বাড়ছে এবং বিভিন্ন মানসম্পন্ন প্যাকেজ ও লাইব্রেরি রয়েছে। | React Native-এর অনেক বড় কমিউনিটি এবং বিভিন্ন থার্ড-পার্টি লাইব্রেরি রয়েছে। |
| ডেভেলপমেন্ট সময় | Flutter এ প্রি-বিল্ট উইজেটগুলির কারণে UI দ্রুত তৈরি করা যায়। | React Native এর কম্পোনেন্ট ভিত্তিক অ্যাপ্লিকেশন তৈরির প্রক্রিয়া কিছুটা সময় নিতে পারে। |
- Flutter পারফরম্যান্স এবং UI কাস্টমাইজেশনের জন্য বেশি সুবিধাজনক।
- React Native বড় সম্প্রদায় এবং JavaScript ভিত্তিক হওয়ায় ডেভেলপারদের জন্য জনপ্রিয়।
Xamarin হলো Microsoft এর একটি ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক, যা মূলত C# প্রোগ্রামিং ভাষা ব্যবহার করে Native অ্যাপ্লিকেশন তৈরি করে। Xamarin .NET ফ্রেমওয়ার্কের উপর ভিত্তি করে কাজ করে।
| বিষয় | Flutter | Xamarin |
|---|---|---|
| ডেভেলপমেন্ট ভাষা | Dart | C# |
| UI উপাদান (Widgets) | Flutter নিজস্ব উইজেট ব্যবহার করে। | Xamarin এর Xamarin.Forms Native UI কম্পোনেন্ট ব্যবহার করে। |
| পারফরম্যান্স | Flutter এর পারফরম্যান্স Native এর মতোই স্মুথ এবং দ্রুত। | Xamarin এর পারফরম্যান্স ভালো, তবে Xamarin.Forms কিছু ক্ষেত্রে ধীর হতে পারে। |
| প্ল্যাটফর্ম সাপোর্ট | Flutter বর্তমানে Android, iOS, Web, এবং Desktop সমর্থন করে। | Xamarin মূলত Android, iOS, এবং Windows এর জন্য অ্যাপ তৈরি করে। |
| কোড পুনর্ব্যবহার | Flutter এ অধিকাংশ কোড একবারে সব প্ল্যাটফর্মে ব্যবহার করা যায়। | Xamarin এর Xamarin.Forms এ সাধারণত বেশি কোড পুনরায় ব্যবহার করা যায়, তবে কিছু ক্ষেত্রে নেটিভ API আলাদা করে লিখতে হয়। |
| ডেভেলপার টুলস | Android Studio, Visual Studio Code | Visual Studio (Microsoft এর IDE) |
- Flutter বেশি ফ্লেক্সিবল এবং UI কাস্টমাইজেশনের জন্য উপযুক্ত।
- Xamarin C# এবং .NET পরিবেশে কাজ করতে ইচ্ছুক ডেভেলপারদের জন্য উপযোগী।
Ionic হলো একটি ওপেন সোর্স ফ্রেমওয়ার্ক যা HTML, CSS, JavaScript ব্যবহার করে hybrid মোবাইল অ্যাপ তৈরি করে। Ionic অ্যাপ্লিকেশনগুলো সাধারণত WebView এর মাধ্যমে রান করে।
| বিষয় | Flutter | Ionic |
|---|---|---|
| ডেভেলপমেন্ট ভাষা | Dart | HTML, CSS, JavaScript (Angular, React, Vue) |
| UI উপাদান (Widgets) | Flutter এর নিজস্ব উইজেট রয়েছে, যা Native এর মতো দেখায়। | Ionic এর UI কম্পোনেন্টগুলো HTML ও CSS ব্যবহার করে তৈরি করা হয়। |
| পারফরম্যান্স | Flutter Native পারফরম্যান্স প্রদান করে। | Ionic এর পারফরম্যান্স WebView এর মাধ্যমে কিছুটা কম হতে পারে। |
| প্ল্যাটফর্ম সাপোর্ট | Android, iOS, Web, Desktop | Android, iOS, Web |
| কোড পুনর্ব্যবহার | Flutter এ কোড সর্বত্র পুনর্ব্যবহার করা যায়। | Ionic এও HTML, CSS এবং JavaScript এর মাধ্যমে কোড পুনর্ব্যবহার করা যায়। |
- Flutter পারফরম্যান্স এবং নেটিভ ফিচারগুলোর জন্য বেশি সুবিধাজনক।
- Ionic সহজ এবং দ্রুত hybrid অ্যাপ তৈরির জন্য উপযুক্ত, বিশেষত যাঁরা web technologies (HTML, CSS, JavaScript) ব্যবহার করতে পছন্দ করেন।
NativeScript হলো একটি ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক, যা Native অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত হয়। NativeScript-এ JavaScript, TypeScript, Angular এবং Vue.js সমর্থিত।
| বিষয় | Flutter | NativeScript |
|---|---|---|
| ডেভেলপমেন্ট ভাষা | Dart | JavaScript, TypeScript, Angular, Vue.js |
| UI উপাদান (Widgets) | Flutter এর নিজস্ব উইজেট রয়েছে। | NativeScript এর Native API এবং UI ব্যবহার করা হয়। |
| পারফরম্যান্স | Flutter এর পারফরম্যান্স Native এর মতোই দ্রুত। | NativeScript এর পারফরম্যান্স ভালো, তবে Flutter তুলনামূলকভাবে দ্রুত। |
| ডেভেলপার টুলস | Android Studio, Visual Studio Code | NativeScript CLI, Visual Studio Code |
| কোড পুনর্ব্যবহার | Flutter এ কোড একবারে সর্বত্র ব্যবহৃত হয়। | NativeScript এ কোড JavaScript ভিত্তিক হওয়ায় সহজে পুনরায় ব্যবহার করা যায়। |
- Flutter এ ফাস্ট এবং স্মুথ পারফরম্যান্স পাওয়া যায়, যা নেটিভ অ্যাপ্লিকেশনের মতো।
- NativeScript ডেভেলপারদের জন্য ভাল যাঁরা Angular বা Vue.js পছন্দ করেন এবং Native API সহজে এক্সেস করতে চান।
Flutter ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক হিসেবে অন্যান্য অনেক ফ্রেমওয়ার্কের চেয়ে বেশি ফ্লেক্সিবল, পারফরম্যান্সে উন্নত এবং একাধিক প্ল্যাটফর্মে কাজ করার ক্ষমতা রাখে। React Native জাভাস্ক্রিপ্ট ব্যবহারকারীদের জন্য ভাল, তবে Flutter এর UI এবং পারফরম্যান্স নেটিভ অ্যাপ্লিকেশনের সাথে বেশি মিলে। Xamarin C# ডেভেলপারদের জন্য উপযুক্ত, আর Ionic এবং NativeScript JavaScript/TypeScript ব্যবহারকারীদের জন্য আদর্শ।
ফ্লাটার হলো একটি ওপেন সোর্স UI সফটওয়্যার ডেভেলপমেন্ট কিট (SDK), যা Google দ্বারা তৈরি করা হয়েছে। এটি মোবাইল, ওয়েব, ডেস্কটপ, এবং এম্বেডেড ডিভাইসের জন্য ক্রস-প্ল্যাটফর্ম অ্যাপ্লিকেশন তৈরি করার জন্য ব্যবহৃত হয়। Flutter ব্যবহার করে আপনি এক কোডবেস থেকে একই সাথে অ্যান্ড্রয়েড, আইওএস, ওয়েব, এবং ডেস্কটপ অ্যাপ্লিকেশন তৈরি করতে পারেন। এটি একটি high-performance ফ্রেমওয়ার্ক, যা Dart প্রোগ্রামিং ভাষা ব্যবহার করে ডেভেলপ করা হয়।
Flutter হলো Google এর তৈরি একটি ওপেন সোর্স UI সফটওয়্যার ডেভেলপমেন্ট কিট (SDK), যা ডেভেলপারদের জন্য cross-platform অ্যাপ্লিকেশন তৈরি করতে সহায়ক। Flutter এর মাধ্যমে এক কোড বেস ব্যবহার করে একই সাথে Android, iOS, Web, এবং Desktop এর জন্য অ্যাপ্লিকেশন তৈরি করা যায়। Flutter Dart প্রোগ্রামিং ভাষা ব্যবহার করে এবং এটি ব্যবহার করে তৈরি করা অ্যাপ্লিকেশনগুলো খুবই দ্রুত, স্মুথ এবং পারফরম্যান্সে উন্নত হয়।
Flutter মূলত অ্যাপ্লিকেশনের UI ডিজাইন এবং ডেভেলপমেন্টের জন্য ব্যবহৃত হয়, এবং এটি native পারফরম্যান্স প্রদান করে, অর্থাৎ Android এবং iOS-এ Flutter দিয়ে তৈরি অ্যাপ্লিকেশনগুলো একদম native অ্যাপের মতো চলে। এর সবচেয়ে বড় সুবিধা হলো, আপনি একই কোড বেস দিয়ে বিভিন্ন প্ল্যাটফর্মে অ্যাপ্লিকেশন ডেভেলপ করতে পারেন।
Cross-Platform Development: Flutter এর মাধ্যমে একই কোড ব্যবহার করে Android, iOS, Web এবং Desktop এর জন্য অ্যাপ্লিকেশন তৈরি করা যায়, যা সময় এবং খরচ বাঁচায়।
High-Performance Rendering: Flutter এর Skia Graphics Engine ব্যবহার করে UI রেন্ডারিং করা হয়, যা খুবই দ্রুত এবং স্মুথ পারফরম্যান্স প্রদান করে।
Hot Reload: Flutter এ Hot Reload ফিচার রয়েছে, যার মাধ্যমে কোড পরিবর্তন করার পর সঙ্গে সঙ্গে তা UI-তে দেখতে পারেন। এটি ডেভেলপমেন্টের সময় অনেক দ্রুত কাজ করার সুযোগ দেয়।
Customizable Widgets: Flutter এ প্রচুর pre-built widgets রয়েছে যা সহজেই ব্যবহার করা যায়। এছাড়াও আপনি কাস্টম উইজেট তৈরি করতে পারেন, যা অ্যাপ্লিকেশনের UI কে আরও উন্নত করে তোলে।
Single Codebase: একবার Flutter দিয়ে কোড লিখলে তা একই সাথে Android, iOS, Web এবং Desktop এর জন্য ব্যবহার করা যায়। ফলে প্ল্যাটফর্ম অনুযায়ী আলাদা কোড লিখতে হয় না।
Native Performance: Flutter native code, third-party integration, এবং hardware acceleration সমর্থন করে, যার মাধ্যমে পারফরম্যান্স native অ্যাপ্লিকেশনের মতো দ্রুত হয়।
Dart Programming Language: Flutter অ্যাপ্লিকেশন তৈরি করতে Dart প্রোগ্রামিং ভাষা ব্যবহার করা হয়, যা Google দ্বারা তৈরি একটি ভাষা। Dart এর সিনট্যাক্স অনেকটা JavaScript এবং Java এর মতো।
Flutter SDK: Flutter SDK হলো একটি টুলকিট যা অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য প্রয়োজনীয় টুলস এবং লাইব্রেরি প্রদান করে। Flutter SDK এর মাধ্যমে UI তৈরি, ডিবাগিং এবং অ্যাপ্লিকেশন কম্পাইল করা সম্ভব হয়।
Android Studio/Visual Studio Code: Flutter ডেভেলপমেন্টের জন্য আপনি Android Studio বা Visual Studio Code ব্যবহার করতে পারেন। এ দুটি IDE-তে Flutter প্লাগইন ইন্সটল করে ডেভেলপমেন্ট প্রক্রিয়া শুরু করা যায়।
Device or Emulator: Flutter অ্যাপ ডেভেলপমেন্টের জন্য একটি real device বা emulator প্রয়োজন, যেখানে আপনি আপনার অ্যাপ্লিকেশন রান করতে পারবেন।
Flutter ডেভেলপমেন্ট শুরু করার জন্য আপনাকে প্রথমে Flutter SDK ইন্সটল করতে হবে। এখানে Windows এবং MacOS এ Flutter ইন্সটল করার পদ্ধতি দেখানো হলো।
Flutter SDK ডাউনলোড:
ZIP ফাইল আনজিপ করা:
.zip ফাইলটি আনজিপ করুন এবং C:\src\flutter ফোল্ডারে এটি সংরক্ষণ করুন।Path সেট করা:
Flutter Doctor চালানো:
Flutter SDK ডাউনলোড:
ZIP ফাইল আনজিপ করা:
cd ~/development
unzip ~/Downloads/flutter_macos_vx.x.x-stable.zip
Path সেট করা:
~/.zshrc বা ~/.bash_profile ফাইলে Flutter এর path যুক্ত করুন।Flutter Doctor চালানো:
Android Studio ডাউনলোড ও ইনস্টল করুন।
Flutter Plugin ইনস্টল করুন:
Android SDK সেটআপ:
Flutter এ একটি নতুন প্রজেক্ট তৈরি করতে এবং সেটিকে রান করার পদ্ধতি নিচে দেওয়া হলো।
Flutter CLI ব্যবহার করে একটি নতুন প্রজেক্ট তৈরি করতে পারেন:
flutter create my_first_app
প্রজেক্ট ফোল্ডারে যান:
cd my_first_app
অ্যাপ্লিকেশনটি রান করার জন্য:
flutter run
আপনি যদি Android Studio বা Visual Studio Code ব্যবহার করেন, তবে Run বাটন ক্লিক করে অ্যাপ্লিকেশন চালাতে পারেন।
Flutter এ lib/main.dart ফাইলে অ্যাপ্লিকেশনের মেইন কোড লেখা থাকে। নিচে একটি সহজ Flutter অ্যাপের উদাহরণ দেখানো হলো:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('My First Flutter App'),
),
body: Center(
child: Text('Hello, World!'),
),
),
);
}
}
এখানে MaterialApp এবং Scaffold এর মাধ্যমে UI তৈরি করা হয়েছে। Text উইজেট ব্যবহার করে একটি টেক্সট দেখানো হয়েছে।
Flutter এর Hot Reload ফিচার ব্যবহার করে আপনি কোনো কোড পরিবর্তন করলে সঙ্গে সঙ্গে সেটি UI-তে দেখতে পাবেন। কোডে কোনো পরিবর্তন করার পরে Hot Reload ব্যবহার করতে পারেন:
r
Flutter এর UI তৈরি হয় widgets দিয়ে। প্রতিটি UI উপাদান, যেমন বাটন, টেক্সট, ছবি, সবকিছুই Flutter এ Widget হিসেবে কাজ করে। Widgets দুই ধরনের হয়:
Flutter এ অ্যাপ্লিকেশনের অবস্থা বা state পরিচালনা করা খুবই গুরুত্বপূর্ণ। StatefulWidget ব্যবহার করে আপনি state পরিচালনা করতে পারেন। এছাড়া, বড় অ্যাপ্লিকেশনের জন্য বিভিন্ন স্টেট ম্যানেজমেন্ট টুল যেমন Provider, Bloc, Riverpod ব্যবহার করা হয়।
Flutter এ বিভিন্ন স্ক্রিনের মধ্যে যাওয়া বা navigation করার জন্য Navigator এবং Routes ব্যবহার করা হয়।
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondScreen()),
);
Flutter এর pub.dev লাইব্রেরি থেকে আপনি অনেক দরকারি প্যাকেজ ব্যবহার করতে পারেন, যা আপনার অ্যাপ্লিকেশন ডেভেলপমেন্টকে আরও সহজ এবং দ্রুত করে তোলে।
Flutter অ্যাপ ডেভেলপ করার পরে আপনি তা Google Play Store এবং Apple App Store এ প্রকাশ করতে পারেন।
Android এর জন্য APK তৈরি করতে:
flutter build apk --release
iOS এর জন্য Xcode ব্যবহার করে IPA ফাইল তৈরি করতে হবে। এর জন্য আপনাকে Xcode এ প্রজেক্ট ওপেন করতে হবে এবং iOS ডিভাইসে রান করাতে হবে।
Flutter এর তুলনা অন্য ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক যেমন React Native, Xamarin, Ionic, এবং NativeScript এর সাথে করলে বিভিন্ন বৈশিষ্ট্য, সুবিধা-অসুবিধা এবং পারফরম্যান্সের মধ্যে পার্থক্য দেখা যায়। নিচে Flutter এবং অন্যান্য জনপ্রিয় ফ্রেমওয়ার্কগুলোর মধ্যে একটি তুলনামূলক আলোচনা দেওয়া হলো।
React Native হলো Facebook এর তৈরি একটি ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক, যা ডেভেলপারদের একই কোড বেস দিয়ে Android এবং iOS-এর জন্য অ্যাপ তৈরি করতে দেয়। React জাভাস্ক্রিপ্ট লাইব্রেরি ব্যবহার করে Native অ্যাপ্লিকেশন তৈরি করা হয়।
| বিষয় | Flutter | React Native |
|---|---|---|
| ডেভেলপমেন্ট ভাষা | Dart | JavaScript (React) |
| UI উপাদান (Widgets) | Flutter সম্পূর্ণ নিজের UI উইজেট সিস্টেম ব্যবহার করে, যা সমস্ত UI স্ক্রিনের জন্য ব্যবহার করা যায়। | React Native নেটিভ UI কম্পোনেন্ট ব্যবহার করে। |
| পারফরম্যান্স | Flutter সাধারণত React Native এর চেয়ে দ্রুত এবং স্মুথ পারফরম্যান্স প্রদান করে কারণ এটি নিজস্ব Skia Graphics Engine ব্যবহার করে। | React Native এর পারফরম্যান্স কিছু ক্ষেত্রে কম হতে পারে কারণ এটি নেটিভ কোডে কনভার্ট করার সময় JS ব্রিজ ব্যবহার করে। |
| Hot Reload | Flutter এ Hot Reload ফিচার খুবই দ্রুত এবং কার্যকর। | React Native এও Hot Reload ফিচার আছে, তবে Flutter এর তুলনায় কিছুটা কম কার্যকর হতে পারে। |
| কমিউনিটি ও লাইব্রেরি | Flutter-এর সম্প্রদায় দ্রুত বাড়ছে এবং বিভিন্ন মানসম্পন্ন প্যাকেজ ও লাইব্রেরি রয়েছে। | React Native-এর অনেক বড় কমিউনিটি এবং বিভিন্ন থার্ড-পার্টি লাইব্রেরি রয়েছে। |
| ডেভেলপমেন্ট সময় | Flutter এ প্রি-বিল্ট উইজেটগুলির কারণে UI দ্রুত তৈরি করা যায়। | React Native এর কম্পোনেন্ট ভিত্তিক অ্যাপ্লিকেশন তৈরির প্রক্রিয়া কিছুটা সময় নিতে পারে। |
- Flutter পারফরম্যান্স এবং UI কাস্টমাইজেশনের জন্য বেশি সুবিধাজনক।
- React Native বড় সম্প্রদায় এবং JavaScript ভিত্তিক হওয়ায় ডেভেলপারদের জন্য জনপ্রিয়।
Xamarin হলো Microsoft এর একটি ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক, যা মূলত C# প্রোগ্রামিং ভাষা ব্যবহার করে Native অ্যাপ্লিকেশন তৈরি করে। Xamarin .NET ফ্রেমওয়ার্কের উপর ভিত্তি করে কাজ করে।
| বিষয় | Flutter | Xamarin |
|---|---|---|
| ডেভেলপমেন্ট ভাষা | Dart | C# |
| UI উপাদান (Widgets) | Flutter নিজস্ব উইজেট ব্যবহার করে। | Xamarin এর Xamarin.Forms Native UI কম্পোনেন্ট ব্যবহার করে। |
| পারফরম্যান্স | Flutter এর পারফরম্যান্স Native এর মতোই স্মুথ এবং দ্রুত। | Xamarin এর পারফরম্যান্স ভালো, তবে Xamarin.Forms কিছু ক্ষেত্রে ধীর হতে পারে। |
| প্ল্যাটফর্ম সাপোর্ট | Flutter বর্তমানে Android, iOS, Web, এবং Desktop সমর্থন করে। | Xamarin মূলত Android, iOS, এবং Windows এর জন্য অ্যাপ তৈরি করে। |
| কোড পুনর্ব্যবহার | Flutter এ অধিকাংশ কোড একবারে সব প্ল্যাটফর্মে ব্যবহার করা যায়। | Xamarin এর Xamarin.Forms এ সাধারণত বেশি কোড পুনরায় ব্যবহার করা যায়, তবে কিছু ক্ষেত্রে নেটিভ API আলাদা করে লিখতে হয়। |
| ডেভেলপার টুলস | Android Studio, Visual Studio Code | Visual Studio (Microsoft এর IDE) |
- Flutter বেশি ফ্লেক্সিবল এবং UI কাস্টমাইজেশনের জন্য উপযুক্ত।
- Xamarin C# এবং .NET পরিবেশে কাজ করতে ইচ্ছুক ডেভেলপারদের জন্য উপযোগী।
Ionic হলো একটি ওপেন সোর্স ফ্রেমওয়ার্ক যা HTML, CSS, JavaScript ব্যবহার করে hybrid মোবাইল অ্যাপ তৈরি করে। Ionic অ্যাপ্লিকেশনগুলো সাধারণত WebView এর মাধ্যমে রান করে।
| বিষয় | Flutter | Ionic |
|---|---|---|
| ডেভেলপমেন্ট ভাষা | Dart | HTML, CSS, JavaScript (Angular, React, Vue) |
| UI উপাদান (Widgets) | Flutter এর নিজস্ব উইজেট রয়েছে, যা Native এর মতো দেখায়। | Ionic এর UI কম্পোনেন্টগুলো HTML ও CSS ব্যবহার করে তৈরি করা হয়। |
| পারফরম্যান্স | Flutter Native পারফরম্যান্স প্রদান করে। | Ionic এর পারফরম্যান্স WebView এর মাধ্যমে কিছুটা কম হতে পারে। |
| প্ল্যাটফর্ম সাপোর্ট | Android, iOS, Web, Desktop | Android, iOS, Web |
| কোড পুনর্ব্যবহার | Flutter এ কোড সর্বত্র পুনর্ব্যবহার করা যায়। | Ionic এও HTML, CSS এবং JavaScript এর মাধ্যমে কোড পুনর্ব্যবহার করা যায়। |
- Flutter পারফরম্যান্স এবং নেটিভ ফিচারগুলোর জন্য বেশি সুবিধাজনক।
- Ionic সহজ এবং দ্রুত hybrid অ্যাপ তৈরির জন্য উপযুক্ত, বিশেষত যাঁরা web technologies (HTML, CSS, JavaScript) ব্যবহার করতে পছন্দ করেন।
NativeScript হলো একটি ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক, যা Native অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত হয়। NativeScript-এ JavaScript, TypeScript, Angular এবং Vue.js সমর্থিত।
| বিষয় | Flutter | NativeScript |
|---|---|---|
| ডেভেলপমেন্ট ভাষা | Dart | JavaScript, TypeScript, Angular, Vue.js |
| UI উপাদান (Widgets) | Flutter এর নিজস্ব উইজেট রয়েছে। | NativeScript এর Native API এবং UI ব্যবহার করা হয়। |
| পারফরম্যান্স | Flutter এর পারফরম্যান্স Native এর মতোই দ্রুত। | NativeScript এর পারফরম্যান্স ভালো, তবে Flutter তুলনামূলকভাবে দ্রুত। |
| ডেভেলপার টুলস | Android Studio, Visual Studio Code | NativeScript CLI, Visual Studio Code |
| কোড পুনর্ব্যবহার | Flutter এ কোড একবারে সর্বত্র ব্যবহৃত হয়। | NativeScript এ কোড JavaScript ভিত্তিক হওয়ায় সহজে পুনরায় ব্যবহার করা যায়। |
- Flutter এ ফাস্ট এবং স্মুথ পারফরম্যান্স পাওয়া যায়, যা নেটিভ অ্যাপ্লিকেশনের মতো।
- NativeScript ডেভেলপারদের জন্য ভাল যাঁরা Angular বা Vue.js পছন্দ করেন এবং Native API সহজে এক্সেস করতে চান।
Flutter ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক হিসেবে অন্যান্য অনেক ফ্রেমওয়ার্কের চেয়ে বেশি ফ্লেক্সিবল, পারফরম্যান্সে উন্নত এবং একাধিক প্ল্যাটফর্মে কাজ করার ক্ষমতা রাখে। React Native জাভাস্ক্রিপ্ট ব্যবহারকারীদের জন্য ভাল, তবে Flutter এর UI এবং পারফরম্যান্স নেটিভ অ্যাপ্লিকেশনের সাথে বেশি মিলে। Xamarin C# ডেভেলপারদের জন্য উপযুক্ত, আর Ionic এবং NativeScript JavaScript/TypeScript ব্যবহারকারীদের জন্য আদর্শ।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?